package com.jiyun.controller;


import com.jiyun.service.WxPayService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * 文件名: WeixinPayController
 * 创建者: 仵老师
 * 创建时间:2022/8/8 15:55
 * 描述: 这是一个示例
 */
@RestController
@RequestMapping("/api/wxpay")
public class WeixinPayController {


    @Autowired
    private WxPayService wxPayService;


    @RequestMapping("getQrCodeUrl")
    public String getQrCodeUrl(String orers) throws Exception{
        return wxPayService.getQrCodeUrl(orers);
    }
    @RequestMapping("orderquery")
    public String orderquery(String orers) throws Exception{
        String result = "";
        int i = 0;
        System.out.println("调用了订单查询接口");
        //在一分钟之内每个5s请求一次查询订单接口
        //返回结果不是SUCCESS，继续请求
        //返回结果为SUCCESS，直接返回
        //请求时间超过1分钟，返回fail，告知用户支付时间超时，重新刷新二维码
        while (true){
            String orderStatus = wxPayService.orderquery(orers);
            if (orderStatus==null){
                result = "fail";
                System.out.println("支付出错，停止请求");
                break;
            }
            if ("SUCCESS".equals(orderStatus)){
                result = "success";
                System.out.println("支付成功，停止请求");
                break;
            }else {
                i++;
                System.out.println("支付中，第"+i+"次请求");
                Thread.sleep(5000);
            }
            if (i==12){
                result = "fail";
                System.out.println("支付超时，停止请求");
                break;
            }
        }
        return result;
    }
}
